﻿namespace jQube.Web
{
    using System.Web.UI.HtmlControls;
    using jQube.Web.UI;
    using System.Collections;
    using System;
    using System.Web.UI;

    internal interface IPage
    {
        string AppRelativeVirtualPath { get; }
        IClientScriptManager ClientScript { get; }
        bool EnableEventValidation { get; set; }
        IHtmlForm Form { get; }
        HtmlHead Header { get; }
        bool IsPostBack { get; }
        IDictionary Items { get; }
        IHttpRequest Request { get; }
        IHttpResponse Response { get; }
        IHttpServerUtility Server { get; }
        string Title { get; }

        event EventHandler Error;
        event EventHandler InitComplete;
        event EventHandler PreRender;
        event EventHandler PreRenderComplete;

        Control FindControl(string id);
        void SetFocus(Control control);
        void SetFocus(string clientID);
        void SetRenderMethodDelegate(RenderMethod renderMethod);
        string ResolveClientUrl(string relativeUrl);
        void VerifyRenderingInServerForm(Control control);
    }
}